package execption;

/**
 * 异常的抛出
 * throw关键自允许我们主动对外抛出一个异常 通常下列情况会如此
 * 1：当前代码片段出现了一个异常 但是该异常不应当在当前代码片段中被解决时可以对外抛出
 * 2：满足语法但是不满最业务逻辑时 可以将其当做异常抛出给调用者
 *
 *
 *
 *
 */

public class ThrowDemo {
    public static void main(String[] args) {
        Person p = new Person();
        try {
            /*
            当我们调用一个含有throws声明异常抛出的方法时 编译器要求我们必须
            处理这个异常 处理方式有两种
            1：主动try-catch 捕获并解决该异常
            2：在当前方法上继续使用throws声明异常的抛出
            具体选取哪个要结合实际业务分析异常处理的责任制问题


             */
            p.setAge(10000);//满足语法，但是不满足业务场景
        } catch (IllegalAgeException e) {
            e.printStackTrace();
        }
        System.out.println("此人年龄："+p.getAge());
    }
}
